United States Patent Publication No. 20060184673 A1 describes a means and method by which non-linear video editing “Projects”, e.g. such as those created by Avid Non-Linear Video Editing (NLE) applications can be converted into Shared Avid Projects, thereby enabling two or more video editors to collaborate safely and efficiently such that all editors can see what colleagues are editing without danger of one editor overwriting the work of another editor.
The use of the “symbolic link” virtualization scheme as described in United States Patent Publication No. 20060184673 A1 enables a collaborative storage system to set up a structure that allows non-linear video editors, such as AVID's Xpress Pro® HD Non Linear Editing (NLE) application, to share the same “Project” in addition to sharing the same media files. In the context of the AVID® Non-Linear Video Editing, a “Project” is comprised of metadata that includes bins and sequences and “clips” that all refer to media files, but the contents of Projects are not media files themselves. For editors who use Avid non-linear video editing applications, the Project data created by most Avid non-linear video editing applications is not stored in single monolithic files, as it is with many other popular non-linear editing applications like Apple's Final Cut Pro®. Avid® Projects by design are typically broken up into many discrete elements that at the operating system level are really just filesystem folders and files. Thus, in Avid® Projects, it is possible to manipulate these discrete elements individually. For example, it is possible to set write permissions differently on one folder or file versus others. And by the symbolic link technique described, it is possible to create different “virtual views” of an Avid® Project, such that each user has an optimized view of the Project and each user can maintain his/her own separate files for the same function (i.e., for settings).
That is, as one of the distinctive features of Avid® NLE applications is that they store metadata (for example, references to clips, subclips, and sequences) in “bin files” which are real files at the filesystem level. Avid® NLE applications support simultaneously opening multiple bin files and furthermore, simultaneously opening multiple elements referenced by each bin file (for example, clips, subclips, and sequences) and cutting, copying and pasting between bins. The overall Avid bin scheme made it feasible to divide up and organize a Project into multiple bins—for instance, having one bin for raw digitized material, one bin for each scene, one for finished rough cuts, one for fine cuts, etc. As such, a typical Avid® NLE project will consist of multiple bin files, each referencing some portion of the overall Project.
It would be highly desirable to provide as part of a centralized collaborative storage system a system and method to allow multiple non-linear editing systems to safely open up and work from and collaborate on the same “Project”. In the world of non-linear editing, Projects are generally understood to encompass “metadata” that refers to media files and not the media files themselves. In their most basic form, Projects include “clips” that refer to entire media files, “subclips” that refer to parts of media files, and “sequences” that refer to media files (in part or in their entirety) all strung together to make a story or program”. In the context of non-linear video editing, the creative work of an editor is generally stored in the Project. Unlike media files, which are typically never modified in the course of editing, Project files are changing all the time because they reflect the editing decisions of an editor. The normal practice of editors therefore is to each maintain their own Projects, because if two or more editors were to open up the same Project from two different non-linear editing workstations (assuming the Project was stored in some central location that could be accessed by more than one editor), one editor would be at great risk for overwriting the changes that others are making, and vice versa. The risk of overwriting changes applies to any information contained in the Project, including settings, bins, sequences, etc. Also, if multiple editors were to open up the same Project file, they would all be confronted with a clutter of information that made it hard to sort out what was being edited by which editor, and who should have modification authority over which metadata.
It would therefore further be highly desirable to provide a centralized collaborative storage system for non-linear editing systems that manages ownership and permissions over different editors' contributions to shared Projects and that implements “symbolic links” to create a virtual file and folder structure that allows multiple non-linear editing systems to collaborate on the same project, keeping work organized so that it is clear which editor is editing what and allowing each editor to maintain his/her own settings for the Project.
It would be further highly desirable to create a collaborative editing environment on a that enables one or more editors running a non-linear video editing (NLE) program to collaborate on Projects despite the fact that the program natively saves projects as a single monolithic and non-divisible file.
It would be further highly desirable to create a collaborative video editing environment on a centralized data storage system equipped with a tool for creating on centralized data storage system a Shared Project Space to which users could be added, defining who has access to that Project Space.
It would be further highly desirable to create a collaborative video editing environment on a centralized data storage system equipped with a tool for creating in a given Shared Project Space one or more upper-level folders, each of which can be defined as unique “Shared Project” and into which editors can put project files that represent some portion of an overall project.
It would be further highly desirable to create a collaborative editing environment on a centralized data storage equipped with a mechanism for controlling the permissions and ownership of the project files such that multiple users cannot overwrite each other's work.